package qldc.pm.tienan.service.impl;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import qldc.pm.tienan.NoSuchTEMP_DoiTuongTienAnException;
import qldc.pm.tienan.constants.TienAnConstants;
import qldc.pm.tienan.model.LichSuXoaAnTich;
import qldc.pm.tienan.model.TEMP_DoiTuongTienAn;
import qldc.pm.tienan.model.impl.TEMP_DoiTuongTienAnImpl;
import qldc.pm.tienan.service.base.TEMP_DoiTuongTienAnLocalServiceBaseImpl;

import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.Validator;

/**
 * The implementation of the t e m p_ doi tuong tien an local service.
 *
 * <p>
 * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link qldc.pm.tienan.service.TEMP_DoiTuongTienAnLocalService} interface.
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author Brian Wing Shun Chan
 * @see qldc.pm.tienan.service.base.TEMP_DoiTuongTienAnLocalServiceBaseImpl
 * @see qldc.pm.tienan.service.TEMP_DoiTuongTienAnLocalServiceUtil
 */
public class TEMP_DoiTuongTienAnLocalServiceImpl
    extends TEMP_DoiTuongTienAnLocalServiceBaseImpl {
	private static Log _log = LogFactoryUtil
			.getLog(TEMP_DoiTuongTienAnLocalServiceImpl.class);
	private SimpleDateFormat sdf = new SimpleDateFormat(TienAnConstants.DATE_PATTERN);    

	public TEMP_DoiTuongTienAn findBySoDinhDanhCaNhan(String soDinhDanhCaNhan) {
		TEMP_DoiTuongTienAn doiTuongTienAn = null;

		try {
			doiTuongTienAn = temp_DoiTuongTienAnPersistence
					.findBySoDinhDanhCaNhan(soDinhDanhCaNhan);
		} catch (NoSuchTEMP_DoiTuongTienAnException e) {
			_log.warn(e.getMessage());
		} catch (SystemException e) {
			_log.warn(e.getMessage());
		}

		return doiTuongTienAn;
	}
	public TEMP_DoiTuongTienAn findTempDoiTuongTienAnMoiNhatByUserId(long userId) throws SystemException{
		List<TEMP_DoiTuongTienAn> doiTuongs = temp_DoiTuongTienAnPersistence.findByUserId(userId);
		if (Validator.isNotNull(doiTuongs) && !doiTuongs.isEmpty()){
			return doiTuongs.get(0);
		}
		else return null;
	}

	public TEMP_DoiTuongTienAn addTEMP_DoiTuongTienAn(long userId, String screenName, String soDinhDanhCaNhan, long mainDoiTuongTienAnId)
			throws SystemException {
		long doiTuongTienAnId = counterLocalService.increment(TEMP_DoiTuongTienAn.class.getName());
		TEMP_DoiTuongTienAn doiTuongTienAn = createTEMP_DoiTuongTienAn(doiTuongTienAnId);
    	
		doiTuongTienAn.setUserId(userId);
		doiTuongTienAn.setUserName(screenName);
		doiTuongTienAn.setCreateDate(new Date());

		doiTuongTienAn.setSoDinhDanhCaNhan(soDinhDanhCaNhan);
		doiTuongTienAn.setMainDoiTuongTienAnId(mainDoiTuongTienAnId);

		doiTuongTienAn = addTEMP_DoiTuongTienAn(doiTuongTienAn);

		return doiTuongTienAn;
	}

}
